/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Pacotes;

import DadosUsuario.Dados;
import Estruturas.Manipuladores;
import Opcoes.Conexoes;
import Opcoes.Pacotes;

/**
 *
 * @author Leo
 */
public class Pong extends Header {
    
    private byte[] porta;           //   0-1    (2)
    private byte[] enderecoIP;      //   2-5    (4)
    private byte[] qtd_arq_comp;    //   6-9    (4)
    private byte[] kbytes_comp;     //  10-13   (4)

    public Pong ()
    {
        super((byte) Pacotes.PAYLOAD_OF_PONG,14);

        porta = new byte[2];
        enderecoIP = new byte[4];
        qtd_arq_comp = new byte[4];
        kbytes_comp = new byte[4];

        porta = Manipuladores.ShortToByteArray((short)Conexoes.CONNECT_PORT);
        enderecoIP = Manipuladores.IPtoByteArray(Manipuladores.getIP());
        qtd_arq_comp = Manipuladores.intToByteArray(Dados.getTotalArquivos());
        kbytes_comp = Manipuladores.intToByteArray(Dados.getKBytesCompart());
        

    }

    public String make ()
    {
        return makeHeader() + (char)porta[0] + (char)porta[1]
                + (char)enderecoIP[0] + (char)enderecoIP[1] + (char)enderecoIP[2] + (char)enderecoIP[3]
                + (char)qtd_arq_comp[0] + (char)qtd_arq_comp[1] + (char)qtd_arq_comp[2] + (char)qtd_arq_comp[3]
                + (char)kbytes_comp[0] + (char)kbytes_comp[1] + (char)kbytes_comp[2] + (char)kbytes_comp[3];
    }

    public String getEnderecoIP() {
        return String.format("%d.%d.%d.%d", enderecoIP[0],enderecoIP[1],enderecoIP[2],enderecoIP[3]);
    }

    public void setEnderecoIP(String enderecoIP) {
        this.enderecoIP = Manipuladores.IPtoByteArray(enderecoIP);
    }

    public int getKbytes_comp() {
        return Manipuladores.byteArrayToInt(kbytes_comp, 0);
    }

    public void setKbytes_comp(int kbytes_comp) {
        this.kbytes_comp = Manipuladores.intToByteArray(kbytes_comp);
    }

    public int getPorta() {
        return Manipuladores.byteArrayToShort(porta, 0);
    }

    public void setPorta(short porta) {
        this.porta = Manipuladores.ShortToByteArray(porta);
    }

    public int getQtd_arq_comp() {
        return Manipuladores.byteArrayToInt(qtd_arq_comp, 0);
    }

    public void setQtd_arq_comp(int qtd_arq_comp) {
        this.qtd_arq_comp = Manipuladores.intToByteArray(qtd_arq_comp);
    }



}
